package com.biblioteca.controlador;

import com.biblioteca.persistencia.*;
import com.biblioteca.servicio.*;
import com.biblioteca.view.utils.MessageProvider;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import javax.annotation.PostConstruct;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.webflow.execution.RequestContext;


@Controller("pedidoControlador")
@Scope("request")
public class pedidoControlador implements Serializable{

    private PedidoServicio pedidoServicio;
    private Pedido pedido;
    private List<Pedido> pedidos;
    private Libro libro = new Libro();
    private UsuarioServicio usuarioServicio;
    private LibroServicio libroServicio;
    
    public List<Pedido> getpedidos() {
        
        return (List<Pedido>) pedidoServicio.getAllPedidos();
    }

    public Libro getLibro() {
        return libro;
    }

    public void setLibro(Libro libro) {
        this.libro = libro;
    }

    public PedidoServicio getPedidoServicio() {
        return pedidoServicio;
    }

    
    @Autowired
    @Required
    public void setPedidoServicio(PedidoServicio pedidoServicio) {
        this.pedidoServicio = pedidoServicio;
    }

    
    public List<Pedido> getPedidos() {
        return pedidoServicio.getAllPedidos();
    }

    public void setPedidos(List<Pedido> pedidos) {
        this.pedidos = pedidos;
    }

    
    
    public UsuarioServicio getUsuarioServicio() {
        return usuarioServicio;
    }

    
    @Autowired
    @Required
    public void setLibroServicio(LibroServicio libroServicio) {
        this.libroServicio = libroServicio;
    }

    
    @Autowired
    @Required
    public void setUsuarioServicio(UsuarioServicio usuarioServicio) {
        this.usuarioServicio = usuarioServicio;
    }
    @Autowired
    @Required
    public void setNoticiaServicio(PedidoServicio pedidoServicio) {
        this.pedidoServicio = pedidoServicio;
    }
    
    public void setNoticias(List<Pedido> pedidos) {
        this.pedidos = pedidos;
    }
 
    public Pedido getPedido() {
        return pedido;
    }

    public void setPedido(Pedido pedido) {
        this.pedido = pedido;
    }

  


    public void crearPedido(){
        String u = usuarioServicio.getCurrentUser().getUsername();
        Date d = new Date();
  
        pedido = new Pedido(libro.getIsbn(),d,d,u,libro.getTitulo());
        System.out.println("AQUI USUARIO!!!"+ u);
        libroServicio.restarLibro(libro.getIsbn());
        pedidoServicio.crearPedido(pedido);
    }
    
    public void borrarPedido() {
        String id = pedido.getIsbn();
        pedidoServicio.borrarPedido(id);
    
    }




}
